package com.kujie.access.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kujie.access.domain.query.EnterpriseRentalInformationQuery;
import com.kujie.access.domain.vo.EnterpriseRentalInformationVO;
import com.kujie.common.core.domain.R;
import com.kujie.common.mybatis.core.page.PageQuery;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * 企业租赁信息 service
 *
 * @author check
 * @date 2025-07-03
 */
public interface IEnterpriseRentalInformationService {
    /**
     * 查询企业租赁信息
     *
     * @param enterpriseRentalInformationQuery 查询参数
     * @param pageQuery                        分页参数
     * @return 企业租赁信息
     */
    Page<EnterpriseRentalInformationVO> list(EnterpriseRentalInformationQuery enterpriseRentalInformationQuery, PageQuery pageQuery);

    /**
     * 查询企业租赁信息详情
     *
     * @param id 主键id
     * @return 企业租赁信息详情
     */
    EnterpriseRentalInformationVO detail(String id);

    /**
     * 添加或更新企业租赁信息
     *
     * @param enterpriseRentalInformationVO 添加参数
     * @return 添加结果
     */
    int insertOrUpdate(EnterpriseRentalInformationVO enterpriseRentalInformationVO);

    /**
     * 批量删除企业租赁信息
     *
     * @param ids 删除参数
     * @return 删除结果
     */
    int batchDelete(List<String> ids);

    /**
     * 查询企业租赁信息
     *
     * @param enterpriseRentalInformationQuery 查询条件
     * @param response                         响应
     * @return 企业租赁信息
     */
    List<EnterpriseRentalInformationVO> batchExport(EnterpriseRentalInformationQuery enterpriseRentalInformationQuery, HttpServletResponse response);

    /**
     * 批量导入
     *
     * @param file 文件
     * @return 批量导入结果
     */
    int batchImport(MultipartFile file) throws IOException;

    /**
     * 批量查询详情
     *
     * @param companyUUID 批量查询详情参数
     * @return 批量查询详情结果
     */
    List<EnterpriseRentalInformationVO> detailList(String companyUUID);
}
